package com.alks.function.service.finance.salary;

import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.finance.salary.PcSalaryNewListRequest;
import com.alks.function.data.request.finance.salary.UpdateRemarkRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface PersonnelService {
    ResponseInfo fetchEmployee(Map<String, String> map);

    ResponseInfo PcSalaryNewList(PcSalaryNewListRequest request);

    ResponseInfo RetrieveAttendanceData(Map<String, String> map);

    ResponseInfo CheckMonthlyAttendance(Map<String, String> map, Integer choose);

    ResponseInfo CheckMonthlySalary(Map<String, String> map, Integer choose);

    ResponseInfo delPcSalaryNewList(Map<String, String> map);

    ResponseInfo getPcSalaryNewDetailList(String yyyymm, String workerId);

    ResponseInfo TakeHourlyWages(Map<String, String> map);

    ResponseInfo PieceRateSalary(Map<String, String> map);

    ResponseInfo getMeritPay(Map<String, String> map);

    ResponseInfo CalculateSalary(Map<String, String> map);

    ResponseInfo UpdateRemark(UpdateRemarkRequest request);

    ResponseInfo RecalculateSalary(List<UpdateRemarkRequest> request);

    void ExportSalaryAccountingTable(PcSalaryNewListRequest request, HttpServletResponse response);

    void ExportSalaryApprovalForm(PcSalaryNewListRequest request, HttpServletResponse response);

    void ExportSalaryBank(PcSalaryNewListRequest request, HttpServletResponse response);

    void ExportPayslip(PcSalaryNewListRequest request, HttpServletResponse response);

    ResponseInfo getMonth();

}
